package observe;

import subject.Subject;

/**
 * 观察者
 *
 * @author tengqingya
 * @create 2017-01-17 10:32
 */
public interface Observer {
    /**
     * 观察者更新自身状态的方法
     * @param subject 被观察对象的引用
     */
    void update( Subject subject);

    /**
     * 子类实现该方法后可以设置子类状态
     * @param status
     */
    void setObserverStatus( String status );

    /**
     * 得到子类的choice状态
     * 如无此方法
     * 则需要强转成子类才能获得choice
     * @return
     */
    int getChoiceStatus();
}
